#ifndef IMNETWORK_H
#define IMNETWORK_H

#include "utility/Def.h"

#include <string>

class IMNetworkPrivate;
class IMNetworkProcessor;

class IMNetwork
{
    IM_CREATE_PRIVATE(IMNetwork)

public:
    IMNetwork() = default;
    virtual ~IMNetwork() = default;

    virtual void connect() = 0;
    virtual void disconnect() = 0;
    virtual bool isConnected() const = 0;

    IMNetworkProcessor *processor();
};

#endif